//创建数据库代理
const db = wx.cloud.database()
const messages = db.collection('messages')

var app = getApp();

//格式化日期
function formatDate() {
  var now = new Date()
  var year = now.getFullYear()
  var month = now.getMonth() + 1
  var day = now.getDate()
  var hour = now.getHours()
  var minute = now.getMinutes()

  if (month < 10) month = '0' + month
  if (day < 10) day = '0' + day

  return year + '-' + month + '-' + day +' ' + hour + ':' + minute
}

Page({

  /**
   * 页面的初始数据
   */
  data: {
    toSend:false

  },
  /**
   *自定义函数--显示留言编辑区 
   */
  write:function(){
    if(app.globalData.userInfo== ''){
      wx.showToast({
        icon: 'none',
        title: '请先登录！',
      })
    }else{
      this.setData({
        toSend: true
      })
    }
  },

  /**
   * 自定义函数--上传留言
   */
  formSubmit:function(e){
    if(e.detail.value.textarea==''){
      wx.showToast({
        icon:'none',
        title: '留言不能为空！',
      })
    }else{
      //console.log(e.detail.value.textarea)
      let inputMessage = e.detail.value.textarea
      //console.log(inputMessag)

      //获取用户的基础信息
      let userInfo = app.globalData.userInfo
      //获取当天日期
      let today = formatDate()

      //往数据库messages集中添加一条记录
      messages.add({
        data: {
          avatarUrl: userInfo.avatarUrl,
          nickName: userInfo.nickName,
          country: userInfo.country,
          province: userInfo.province,
          message: inputMessage,
          addDate: today
        },
        success: res => {
          //提示留言上传中
          wx:wx.showLoading({
            title: '留言上传中……'
          })
          //实时更新页面数据
          messages.orderBy('addDate', 'desc').get({
            success: res => {
              this.setData({
                messageList: res.data,
                inputValue: '',      //清空输入框的值value
                toSend: false        //关闭编辑区
              })
              //隐藏加载框
              wx.hideLoading()
            }
          })
        },
        fail: e => {
          console.log(e)
        }
      })
    }
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

    //获取数据初始化
    //console.log(app.globalData.openid)
    //console.log(app.globalData.userInfo)
    this.setData({
      toSend:false
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    //获取留言列表（按照添加日期降序排列）
    messages.orderBy('addDate','desc').get({
      success:res => {
        this.setData({
          messageList : res.data
        })
      }
    })
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})